home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 519 / gemdos.s < prev    next >
Text File  |  1991-02-24  |  5KB  |  331 lines

  1. ;************************************************************************
  2. ;* GEMDOS-Library, Übergabe in Registern                *
  3. ;* ©1989 by Σ-soft, written by Markus Fritze           18.06.1988 01:16 *
  4. ;************************************************************************
  5.  
  6. pterm0:     clr.w    -(SP)
  7.         trap    #1
  8.  
  9. cconin:     move.w    #1,-(SP)
  10.         bsr    gemdos
  11.         addq.l    #2,SP
  12.         rts
  13.  
  14. cconout:    move.w    D0,-(SP)
  15.         move.w    #2,-(SP)
  16.         bsr    gemdos
  17.         addq.l    #4,SP
  18.         rts
  19.  
  20. cauxin:     move.w    #3,-(SP)
  21.         bsr    gemdos
  22.         addq.l    #2,SP
  23.         rts
  24.  
  25. cauxout:    move.w    D0,-(SP)
  26.         move.w    #4,-(SP)
  27.         bsr    gemdos
  28.         addq.l    #4,SP
  29.         rts
  30.  
  31. cprnout:    move.w    D0,-(SP)
  32.         move.w    #5,-(SP)
  33.         bsr    gemdos
  34.         addq.l    #4,SP
  35.         rts
  36.  
  37. crawio:     move.w    D0,-(SP)
  38.         move.w    #6,-(SP)
  39.         bsr    gemdos
  40.         addq.l    #4,SP
  41.         rts
  42.  
  43. crawcin:    move.w    #7,-(SP)
  44.         bsr    gemdos
  45.         addq.l    #2,SP
  46.         rts
  47.  
  48. cnecin:     move.w    #8,-(SP)
  49.         bsr    gemdos
  50.         addq.l    #2,SP
  51.         rts
  52.  
  53. cconws:     move.l    A0,-(SP)
  54.         move.w    #9,-(SP)
  55.         bsr    gemdos
  56.         addq.l    #6,SP
  57.         rts
  58.  
  59. cconrs:     move.l    A0,-(SP)
  60.         move.w    #$0A,-(SP)
  61.         bsr    gemdos
  62.         addq.l    #6,SP
  63.         rts
  64.  
  65. cconis:     move.w    #$0B,-(SP)
  66.         bsr    gemdos
  67.         addq.l    #2,SP
  68.         rts
  69.  
  70. dsetdrv:    move.w    D0,-(SP)
  71.         move.w    #$0E,-(SP)
  72.         bsr    gemdos
  73.         addq.l    #4,SP
  74.         rts
  75.  
  76. cconos:     move.w    #$10,-(SP)
  77.         bsr    gemdos
  78.         addq.l    #2,SP
  79.         rts
  80.  
  81. cprnos:     move.w    #$11,-(SP)
  82.         bsr    gemdos
  83.         addq.l    #2,SP
  84.         rts
  85.  
  86. cauxis:     move.w    #$12,-(SP)
  87.         bsr    gemdos
  88.         addq.l    #2,SP
  89.         rts
  90.  
  91. cauxos:     move.w    #$13,-(SP)
  92.         bsr    gemdos
  93.         addq.l    #2,SP
  94.         rts
  95.  
  96. dgetdrv:    move.w    #$19,-(SP)
  97.         bsr    gemdos
  98.         addq.l    #2,SP
  99.         rts
  100.  
  101. fsetdta:    move.l    A0,-(SP)
  102.         move.w    #$1A,-(SP)
  103.         bsr    gemdos
  104.         addq.l    #6,SP
  105.         rts
  106.  
  107. super:        move.l    D0,-(SP)
  108.         move.w    #$20,-(SP)
  109.         bsr    gemdos
  110.         addq.l    #6,SP
  111.         rts
  112.  
  113. tgetdate:    move.w    #$2A,-(SP)
  114.         bsr    gemdos
  115.         addq.l    #2,SP
  116.         rts
  117.  
  118. tsetdate:    move.w    D0,-(SP)
  119.         move.w    #$2B,-(SP)
  120.         bsr    gemdos
  121.         addq.l    #4,SP
  122.         rts
  123.  
  124. tgettime:    move.w    #$2C,-(SP)
  125.         bsr    gemdos
  126.         addq.l    #2,SP
  127.         rts
  128.  
  129. tsettime:    move.w    D0,-(SP)
  130.         move.w    #$2D,-(SP)
  131.         bsr    gemdos
  132.         addq.l    #4,SP
  133.         rts
  134.  
  135. fgetdta:    move.w    #$2F,-(SP)
  136.         bsr    gemdos
  137.         addq.l    #2,SP
  138.         rts
  139.  
  140. sversion:    move.w    #$30,-(SP)
  141.         bsr    gemdos
  142.         addq.l    #2,SP
  143.         rts
  144.  
  145. ptermres:    move.w    D0,-(SP)
  146.         move.l    D1,-(SP)
  147.         move.w    #$31,-(SP)
  148.         trap    #1
  149.  
  150. dfree:        move.w    D0,-(SP)
  151.         move.l    A0,-(SP)
  152.         move.w    #$36,-(SP)
  153.         bsr    gemdos
  154.         addq.l    #8,SP
  155.         rts
  156.  
  157. dcreate:    move.l    A0,-(SP)
  158.         move.w    #$39,-(SP)
  159.         bsr    gemdos
  160.         addq.l    #6,SP
  161.         rts
  162.  
  163. ddelete:    move.l    A0,-(SP)
  164.         move.w    #$3A,-(SP)
  165.         bsr    gemdos
  166.         addq.l    #6,SP
  167.         rts
  168.  
  169. dsetpath:    move.l    A0,-(SP)
  170.         move.w    #$3B,-(SP)
  171.         bsr    gemdos
  172.         addq.l    #6,SP
  173.         rts
  174.  
  175. fcreate:    move.w    D0,-(SP)
  176.         move.l    A0,-(SP)
  177.         move.w    #$3C,-(SP)
  178.         bsr    gemdos
  179.         addq.l    #8,SP
  180.         move.l    D0,D7
  181.         rts
  182.  
  183. fopen:        move.w    D0,-(SP)
  184.         move.l    A0,-(SP)
  185.         move.w    #$3D,-(SP)
  186.         bsr    gemdos
  187.         addq.l    #8,SP
  188.         move.l    D0,D7
  189.         rts
  190.  
  191. fclose:     move.w    D7,-(SP)
  192.         move.w    #$3E,-(SP)
  193.         bsr    gemdos
  194.         addq.l    #4,SP
  195.         rts
  196.  
  197. fread:        move.l    A0,-(SP)
  198.         move.l    D0,-(SP)
  199.         move.w    D7,-(SP)
  200.         move.w    #$3F,-(SP)
  201.         bsr    gemdos
  202.         lea    12(SP),SP
  203.         rts
  204.  
  205. fwrite:     move.l    A0,-(SP)
  206.         move.l    D0,-(SP)
  207.         move.w    D7,-(SP)
  208.         move.w    #$40,-(SP)
  209.         bsr    gemdos
  210.         lea    12(SP),SP
  211.         rts
  212.  
  213. fdelete:    move.l    A0,-(SP)
  214.         move.w    #$41,-(SP)
  215.         bsr    gemdos
  216.         addq.l    #6,SP
  217.         rts
  218.  
  219. fseek:        move.w    D0,-(SP)
  220.         move.w    D7,-(SP)
  221.         move.l    D1,-(SP)
  222.         move.w    #$42,-(SP)
  223.         bsr    gemdos
  224.         lea    10(SP),SP
  225.         rts
  226.  
  227. fattrib:    move.w    D0,-(SP)
  228.         move.w    D1,-(SP)
  229.         move.l    A0,-(SP)
  230.         move.w    #$43,-(SP)
  231.         bsr    gemdos
  232.         lea    10(SP),SP
  233.         rts
  234.  
  235. fdup:        move.w    D0,-(SP)
  236.         move.w    #$45,-(SP)
  237.         bsr    gemdos
  238.         addq.l    #4,SP
  239.         rts
  240.  
  241. fforce:     move.w    D0,-(SP)
  242.         move.w    D1,-(SP)
  243.         move.w    #$46,-(SP)
  244.         bsr    gemdos
  245.         addq.l    #6,SP
  246.         rts
  247.  
  248. dgetpath:    move.w    D0,-(SP)
  249.         move.l    A0,-(SP)
  250.         move.w    #$47,-(SP)
  251.         bsr    gemdos
  252.         addq.l    #8,SP
  253.         rts
  254.  
  255. malloc:     move.l    D0,-(SP)
  256.         move.w    #$48,-(SP)
  257.         bsr    gemdos
  258.         addq.l    #6,SP
  259.         rts
  260.  
  261. mfree:        move.l    A0,-(SP)
  262.         move.w    #$49,-(SP)
  263.         bsr    gemdos
  264.         addq.l    #6,SP
  265.         rts
  266.  
  267. mshrink:    move.l    D0,-(SP)
  268.         move.l    A0,-(SP)
  269.         pea    $4A0000
  270.         bsr    gemdos
  271.         lea    12(SP),SP
  272.         rts
  273.  
  274. pexec:        move.l    A2,-(SP)
  275.         move.l    A1,-(SP)
  276.         move.l    A0,-(SP)
  277.         move.w    D0,-(SP)
  278.         move.w    #$4B,-(SP)
  279.         bsr    gemdos
  280.         lea    16(SP),SP
  281.         rts
  282.  
  283. pterm:        move.w    D0,-(SP)
  284.         move.w    #$4C,-(SP)
  285.         trap    #1
  286.  
  287. fsfirst:    move.w    D0,-(SP)
  288.         move.l    A0,-(SP)
  289.         move.w    #$4E,-(SP)
  290.         bsr    gemdos
  291.         addq.l    #8,SP
  292.         rts
  293.  
  294. fsnext:     move.w    #$4F,-(SP)
  295.         bsr    gemdos
  296.         addq.l    #2,SP
  297.         rts
  298.  
  299. frename:    move.l    A0,-(SP)
  300.         move.l    A1,-(SP)
  301.         pea    $560000
  302.         bsr    gemdos
  303.         lea    12(SP),SP
  304.         rts
  305.  
  306. fdatime:    move.w    D0,-(SP)
  307.         move.w    D7,-(SP)
  308.         move.w    D1,-(SP)
  309.         move.w    #$57,-(SP)
  310.         bsr    gemdos
  311.         lea    10(SP),SP
  312.         rts
  313.  
  314. ;************************************************************************
  315. ;* Allgemeiner Gemdos-Einsprung, welcher alle Register rettet (außer D0)*
  316. ;* ACHTUNG! Sonst könnten die Register D0-D4/A0-A4 zerstört werden.    *
  317. ;************************************************************************
  318. gemdos:     move.l    A0,D0
  319.         lea    regsave(PC),A0
  320.         movem.l D0-D7/A1-A7,(A0)
  321.         move.l    (SP)+,-(A0)    ;Rücksprungadr retten
  322.         trap    #1
  323.         movea.l D0,A0        ;Fehlermeldung retten
  324.         movem.l regsave(PC),D0-D7/A1-A7
  325.         exg    A0,D0
  326.         move.l    retsave(PC),(SP)
  327.         rts
  328.  
  329. retsave:    DS.L 1
  330. regsave:    DS.L 15
  331.